const app = getApp()
const request = require('../../utils/promise.js');
const common = require('../../utils/common.js');

Page({
  data: {
    StatusBar: app.globalData.StatusBar,
    CustomBar: app.globalData.CustomBar,
    WebUrl: app.globalData.weburl,
    date: '',
    title: '',
    imgList: [],
    imgListup: [],
  },
  onLoad: function () {
    this.getCurrentDate();
    var openid = wx.getStorageSync('openid');
    console.log("openid", openid);
    var self = this;  // 保存 this 的引用  
    if (openid == "") {
      console.log("openidempty");
      self.wxlogin();
    }
  },
  getCurrentDate: function() {
    const now = new Date();
    const year = now.getFullYear();
    const month = String(now.getMonth() + 1).padStart(2, '0'); // 月份从0开始，需要+1，并补零
    const day = String(now.getDate()).padStart(2, '0'); // 补零
    const formattedDate = `${year}-${month}-${day}`;
    this.setData({
      date: formattedDate
    });
    console.log(this.data.date); // 输出到控制台，方便调试
  },
  chooseMedia() {
    const self = this;
    wx.chooseMedia({
      count: 9, // 最多可以选择的文件数量，图片、视频和文件总数不能超过这个值
      mediaType: ['image'], // 指定可以选择的文件类型，这里只选择图片
      sourceType: ['album'], // 指定来源是相册还是相机
      sizeType: ['compressed'],// 压缩图
      maxDuration: 60, // 视频最长拍摄时间，单位秒。仅当 mediaType 包含 video 时有效
      camera: 'back', // 默认拉起后置摄像头，front 为前置摄像头
      success(res) {
        // tempFiles 是选定文件的本地文件路径列表
        const tempFiles = res.tempFiles;
        
        self.setData({
          imgList: tempFiles.map(file => ({
            ...file,
            // 可以在这里添加其他需要的属性，比如显示名称等
          }))
        });
      },
      fail(err) {
        console.error('选择媒体文件失败：', err);
      }
    });
  },
  DateChange(e) {
    this.setData({
      date: e.detail.value
    })
  },
  TitleChange(e) {
    this.setData({
      title: e.detail.value
    })
  },
  wxlogin: function () {
    var self = this;  // 保存 this 的引用  
    wx.login({
      success(res) {
        console.log(res);
        if (res.code) {
          wx.request({
            url: app.globalData.apiurl + '/mdz/reguser/login',
            data: {
              code: res.code
            },
            success(res) {
              console.log('登录成功', res.data);
              // 处理登录成功的逻辑，如保存token  
              wx.setStorageSync('openid', res.data.data.openid);
              wx.setStorageSync('sessionKey', res.data.data.sessionKey);

            }
          })
        } else {
          console.log('登录失败！' + res.msg)
        }
      }
    })
  },
  uploadFileBtn() {
    if(this.data.title==""){
      wx.showToast({
        title: '请输入情况说明',
        icon: 'none',
        duration: 2000
      });
    }
    const self = this;
    self.setData({
      imgListup: []
    });
    var imgList = this.data.imgList
    console.log(imgList);
    var openid = wx.getStorageSync('openid');
    for(var i=0;i<imgList.length;i++){
      self.uploadFile(imgList[i].tempFilePath,this.data.title,"wuye",this.data.date,openid)
    }
  },
  uploadFile(filePath, fileTitle, cat, date,createBy) {
    const self = this;
    wx.uploadFile({
      url: app.globalData.apiurl + '/mdz/upfile/upload', // 后端接口地址
      filePath: filePath, // 文件路径，这是从wx.chooseMedia中获得的tempFilePath
      name: 'file', // 后端接收文件的参数名，确保与后端@RequestParam("file")中的名称一致
      formData: {
        fileTitle: fileTitle, // 其他需要传递的参数，比如文件标题
        cat: cat, // 文件分类
        date: date, // 文件日期
        createBy: createBy // 创建者
      },
      success(res) {
        console.log(res);
        const data = JSON.parse(res.data);
        if (data.code==200) {
          wx.showToast({
            title: '上传成功',
            icon: 'success',
            duration: 2000
          });
          // 可以在这里做其他处理，比如更新UI等
          console.log(data.data.filePath);
          self.data.imgListup.push(data.data.filePath)

          self.setData({
            imgListup: self.data.imgListup
          });
          console.log("ss",self.data.imgListup);
          self.setData({
            imgList: []
          });
          
        } else {
          wx.showToast({
            title: data.message || '上传失败',
            icon: 'none',
            duration: 2000
          });
        }
      },
      fail(err) {
        console.error('上传文件失败：', err);
        wx.showToast({
          title: '上传失败',
          icon: 'none',
          duration: 2000
        });
      }
    });
  }
})
